home *** CD-ROM | disk | FTP | other *** search
/ Megahits 5 / Megahits 5 (1994)(GTI - Rhein-Main-Soft)(DE)(Disc 2 of 2)[!].iso / archive / print / virtprinters2.lha / iff_printer_source / init.asm < prev    next >
Assembly Source File  |  1993-06-27  |  4KB  |  141 lines

  1. **********************************************************************
  2. *
  3. *       printer device functions
  4. *
  5. **********************************************************************
  6.  
  7.         SECTION         printer
  8.  
  9. *------ Included Files -----------------------------------------------
  10.  
  11.         INCLUDE         "exec/types.i"
  12.         INCLUDE         "exec/nodes.i"
  13.         INCLUDE         "exec/lists.i"
  14.         INCLUDE         "exec/memory.i"
  15.         INCLUDE         "exec/ports.i"
  16.         INCLUDE         "exec/libraries.i"
  17.  
  18.         INCLUDE         "macros.i"
  19.  
  20. *------ Imported Functions -------------------------------------------
  21.  
  22.         XREF_EXE        CloseLibrary
  23.         XREF_EXE        OpenLibrary
  24.         XREF            _AbsExecBase
  25.  
  26.         XREF            _PEDData
  27.  
  28.     XREF        _CreateMyTask
  29.     XREF        _DeleteMyTask
  30.  
  31. *------ Exported Globals ---------------------------------------------
  32.  
  33.         XDEF            _Init
  34.         XDEF            _Expunge
  35.         XDEF            _Open
  36.         XDEF            _PD
  37.         XDEF            _PED
  38.         XDEF            _SysBase
  39.         XDEF            _DOSBase
  40.         XDEF            _GfxBase
  41.         XDEF            _IntuitionBase
  42.  
  43. **********************************************************************
  44.         SECTION         printer,DATA
  45. _PD             DC.L    0
  46. _PED            DC.L    0
  47. _SysBase        DC.L    0
  48. _DOSBase        DC.L    0
  49. _GfxBase        DC.L    0
  50. _IntuitionBase  DC.L    0
  51.  
  52. **********************************************************************
  53.         SECTION         printer,CODE
  54. _Init:
  55.                 MOVE.L  4(A7),_PD
  56.                 LEA     _PEDData(PC),A0
  57.                 MOVE.L  A0,_PED
  58.                 MOVE.L  A6,-(A7)
  59.                 MOVE.L  _AbsExecBase,A6
  60.                 MOVE.L  A6,_SysBase
  61.  
  62. *           ;------ open the dos library
  63.                 LEA     DLName(PC),A1
  64.                 MOVEQ   #37,D0
  65.                 CALLEXE OpenLibrary
  66.                 MOVE.L  D0,_DOSBase
  67.                 BEQ     initDLErr
  68.  
  69. *           ;------ open the graphics library
  70.                 LEA     GLName(PC),A1
  71.                 MOVEQ   #37,D0
  72.                 CALLEXE OpenLibrary
  73.                 MOVE.L  D0,_GfxBase
  74.                 BEQ     initGLErr
  75.  
  76. *           ;------ open the intuition library
  77.                 LEA     ILName(PC),A1
  78.                 MOVEQ   #37,D0
  79.                 CALLEXE OpenLibrary
  80.                 MOVE.L  D0,_IntuitionBase
  81.                 BEQ     initILErr
  82.  
  83. *           ;------ create a task so we can write to disk
  84.         JSR    _CreateMyTask
  85.         TST.L    D0
  86.         BEQ    taskErr
  87.  
  88.                 MOVEQ   #0,D0
  89. pdiRts:
  90.                 MOVE.L  (A7)+,A6
  91.                 RTS
  92.  
  93. taskErr:
  94.                 MOVE.L  _IntuitionBase,A1
  95.                 LINKEXE CloseLibrary
  96.  
  97. initILErr:
  98.                 MOVE.L  _GfxBase,A1
  99.                 LINKEXE CloseLibrary
  100.  
  101. initGLErr:
  102.                 MOVE.L  _DOSBase,A1
  103.                 LINKEXE CloseLibrary
  104.  
  105. initDLErr:
  106.                 MOVEQ   #-1,D0
  107.                 BRA.S   pdiRts
  108.  
  109. ILName:
  110.                 DC.B    'intuition.library'
  111.                 DC.B    0
  112. DLName:
  113.                 DC.B    'dos.library'
  114.                 DC.B    0
  115. GLName:
  116.                 DC.B    'graphics.library'
  117.                 DC.B    0
  118.                 DS.W    0
  119.  
  120.  
  121. *---------------------------------------------------------------------
  122. _Expunge:
  123.         JSR    _DeleteMyTask
  124.  
  125.                 MOVE.L  _IntuitionBase,A1
  126.                 LINKEXE CloseLibrary
  127.  
  128.                 MOVE.L  _GfxBase,A1
  129.                 LINKEXE CloseLibrary
  130.  
  131.                 MOVE.L  _DOSBase,A1
  132.                 LINKEXE CloseLibrary
  133.  
  134.  
  135. *---------------------------------------------------------------------
  136. _Open:
  137.                 MOVEQ   #0,D0
  138.                 RTS
  139.  
  140.                 END
  141.